"""
【字面量】
Python中常用的有6种数据类型：

    数字（Number）
        整数（int）
        浮点数（float）
        复数（complex）
        布尔（bool）
    字符串（String）
        需要用双引号括起来
    列表（List）
        有序的可变序列
    元组（Tuple）
        有序的不可变序列
    集合（Set）
        无序不重复集合
    字典（Dictionary）
        无序Key-Value
"""

# 我是单行注释！
print("Hello,World!!")
print(type("string"))
int_type = type(666)
print(int_type)
name = "zhuchenhua"
print(name)
"""
type() -->> 返回该数据的类型
在python中，变量是没有类型的，数据是有类型的
"""

"""
【数据类型转化】
    在特定场景下，数据类型是可以相互转换的。
    例：
        在一个文件中读取数字，默认是字符串，我们可以把这个转换成数字类型。
"""
x = 123
int(x)
# 转换成浮点型
zifu = float(x)
print(zifu)
# 转换成字符串
str(x)
print(zifu)

"""
【标识符】
    标识符的命名规则：
        1、内容限定
            只允许出现英文、数字（不能开头）、下划线（_）、中文（不建议）
        2、大小写敏感
        3、不可使用关键字
"""
"""
【运算符】
    加     +     例 a+b
    减     -     例 a-b
    乘     *     例 a*b
    除     /     例 a/b
    取整数  //    例 9//2
    取余    %     例 b%a
    指数    **    例 a**b 表示a的b次方
"""
"""
【字符串的三种定义方法】
    1、单引号定义法  name = '朱晨华'
    2、双引号定义法  name = "朱晨华"
    3、三引号定义法  name = 跟多行注释一样
"""
"""
【字符串格式化】
    %s  占位字符串类型
    %d  占位整数类型
    %f  占位浮点类型
"""
name = "朱晨华"
# 这里的的百分号表示：我要占位
# s 表示：将变量变成字符串放入占位的地方
message = "我叫：%s" % name
print(message)
num = 123
message1 = "我叫：%s，我的号码是：%s" % (name, num)
print(message1)
"""
【格式化的精度控制】
    可是使用辅助符号"m.n"来控制数据的宽度和精度
        m  控制宽度，要求是数字，设置的宽度小于数字自身不生效
        n  控制小数点精度，要求是数字，会进行小数的四舍五入
        例如：
            %5d  表示将整数的宽度控制在5位，如数字11，就会变成 [空格][空格][空格]11 用三个空格补足宽度
            %5.2f  表示将宽度控制在5位，将小数点精度控制在2，（小数点和小数部分也被计入宽度计算）
【字符串格式化--快速写法】
    语法：f"内容{变量}"
"""
# 1、快速写法不会进行精度控制  2、不会在意数据类型
print(f"97行，我是：{name}，我的编号是：{num}")

"""
【字符串格式化--表达式的格式化】
    表达式：一条具有明确执行结果的代码语句
"""
print(f"104行，我是：{name}，我的编号是：{3 * 4}")
"""
【数据输入】
    使用 input
    
    数据输出：print
    数据输入：input
"""
print("我是谁？")
name = input()
print(name)
numType = input("你的银行密码数据类型是什么？")
print("你的银行密码数据类型是：%s" % type(numType))  # 输入的都算作字符串类型
